4 -1
It is common for a program to access the elements of an ArrayList
one by one, in order.
This can be done using a counting loop (as has been done so far this chapter).
However,
an Iterator object
may also be used.
To get an Iterator object for a ArrayList use
this method:
Iterator iterator() // Returns an iterator
An iterator object is used to visit the elements of the list
one by one.
This is sometimes more convenient than writing a loop.
An iterator implements the Iterator<E> interface,
andr has the following methods:
boolean hasNext() // Return true if not all elements have been visited E next() // Returns the next element of the list. void remove() // Remove from the list the element just returned by next()
Here is a program that prints out every element in the ArrayList:
import java.util.* ;
class IteratorExample
{
public static void main ( String[] args)
{
ArrayList<String> names = new ArrayList<String>();
names.add( "Amy" ); names.add( "Bob" );
names.add( "Chris" ); names.add( "Deb" );
names.add( "Elaine" ); names.add( "Frank" );
names.add( "Gail" ); names.add( "Hal" );
Iterator iter = names.iterator();
while ( iter.hasNext() )
System.out.println( iter.next() );
}
}
There are several
classes in the Java libraries that implement the Iterator<E> interface.
Some classes are complicated, and a simple loop can't be used to
access all their elements.
For those classes, an iterator is very convenient.
Can primitive types, like int and double be
added to an ArrayList ?